// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "Logging/LogMacros.h"
#include "WGINavInterface.generated.h"

// This class does not need to be modified.
UINTERFACE(MinimalAPI)
class UWGI_NavInterface : public UInterface
{
	GENERATED_BODY()
};

DECLARE_LOG_CATEGORY_EXTERN(WGI_NavInterface, Log, All);



/**
 *
 */
class WIDGETGROUP_API IWGI_NavInterface
{
	GENERATED_BODY()

		// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
	/**
	 * 子物件被选中时
	 */
	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "WGI|Nav|Interface")
		void OnSelectInterface();
	virtual void OnSelectInterface_Implementation();
	/**
	 * 子物件被取消选中时
	 */
	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "WGI|Nav|Interface")
		void OnUnSelectInterface();
	virtual void OnUnSelectInterface_Implementation();
	/**
	 * 子物件被EnterKey 执行
	 */
	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "WGI|Nav|Interface")
		void OnClickInterface();
	virtual void OnClickInterface_Implementation();
};
